home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Text / WASTE / WASTE 1.2a2 / What’s New? < prev   
Encoding:
Text File  |  1995-10-12  |  3.9 KB  |  54 lines  |  [TEXT/ttxt]

  1.  
  2. What’s New in WASTE 1.2a1?
  3.  
  4. • This version is based on Dan’s C-WASTE 1.1r16.  I will no longer support the Pascal version.
  5.  
  6. • I made several changes to the source code in an attempt to remove some “pascalisms” that look a bit ugly in C.  ;-)
  7.  
  8. • Some frequently used routines in WELowLevelEditing have been slightly optimized.
  9.  
  10. • Many WASTE-based applications don’t need embedded objects, so WASTE can now be compiled without the code for supporting them: just #define WASTE_OBJECTS to 0 in WASTEIntf.h.
  11. The API will remain the same, with the following exceptions:
  12.   - The tsObject field of the WERunInfo record returned by WEGetRunInfo will be undefined, so your app should ignore it.
  13.   - WASTE will ignore the hSoup parameter in WECopyRange and WEInsert, so pass NULL in hSoup.
  14.   - Routines like WEInsertObject, WEInstallObjectHandler, etc. won’t be compiled, so attempts to use them will result in link errors.
  15.  
  16. • It is now safe to pass NULL in the edge parameter of WEGetOffset if you don’t want the value returned.
  17.  
  18. • Ditto for the redoFlag parameter of WEGetUndoInfo.
  19.  
  20. • On PPC systems, WENew now uses a different strategy for determining if a double-byte script system is installed, since the WorldScript Power Adapted breaks the usual check for smDoubleByte.  I haven’t checked if this works, though.
  21.  
  22. • On PPC systems, WENew makes sure that the address of NewDrag is non-zero before assuming that the Drag Manager is available.
  23.  
  24. • WESetStyle now accepts two extra flags in the mode parameter, that allow you to change the font in a script-sensitive manner.  This feature has not been thoroughly tested yet.  Thanks to Jonathan Kew for providing the code.
  25.  
  26. • You can now supply an optional “streaming” object handler that WASTE will use to get “flat” data from an object to be written to the Clipboard, to a drag or to a soup.  This is an untested experimental feature that may change in future versions.
  27.  
  28. • Operations involving heavily styled text should now be significantly faster.  Previously WASTE would call the Font Manager routine GetFontInfo once for each style run when applying a style scrap.  The Metrowerks Profiler revealed that this call is very time consuming, so now GetFontInfo is only called for new styles that aren’t used anywhere else in the text.
  29.  
  30.  
  31. What’s New in WASTE 1.2a2?
  32.  
  33. • Switched to version 2.1 of the Universal Headers (MacOSEventModifiers is now called EventModifiers).  Version 2.0 is still supported, though.
  34.  
  35. • You can now #define variables like WASTE_DEBUG and WASTE_IC_SUPPORT in a prefix file compiled before WASTEIntf.h, if you want to override the default settings.  Previously, you had to make changes to WASTEIntf.h.  (Thanks to Dan for suggesting this.)
  36.  
  37. • Due to overwhelming popular demand, WECalText no longer redraws the text after recalculating line breaks, unless WASTE_WECALTEXT_DOES_REDRAW is #defined to TRUE when WASTE is compiled.
  38.  
  39. • Time-related quantities expressed in ticks are now declared as unsigned long rather than long, as per the Universal Headers.  Some API functions were changed accordingly.
  40.  
  41. • Worked around an obscure bug in the System whereby the Drag Manager calls _WESendFlavor with a bogus A5 world when a WASTE-generated drag ends up in a TSM floating window.  You can reproduce this bug using “HoverBar”, a shareware program.  This bug only affects 68K binaries.
  42.  
  43. • WESetStyle now accepts a new mode, weDoFaceMask, which lets you set some styles, clear other styles and leave all other styles untouched, all in a single call.  When you use this mode, the filler byte of the TextStyle record passed to WESetStyle is used as a mask which determines which styles are affected.  Here’s an example:
  44.  
  45.     TextStyle ts;
  46.     OSErr err;
  47.     
  48.     // set the bold style and clear the italic style,
  49.     // without touching any other style
  50.     ts.tsFace = bold;
  51.     ts.filler = bold + italic;
  52.     err = WESetStyle(weDoFaceMask, &ts, we);
  53.  
  54. This feature should prove useful for scripting purposes.